using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("WeaponSocketDecoration")]
	public class WeaponSocketDecoration : MonoBehaviour
	{
		public List<WeaponSocketRequirement> m_VisibilityRequirements => method_3<Class271<WeaponSocketRequirement>>("m_VisibilityRequirements")?.method_25();

		public WeaponSocketDecoration(IntPtr address, string className)
			: base(address, className)
		{
		}

		public WeaponSocketDecoration(IntPtr address)
			: this(address, "WeaponSocketDecoration")
		{
		}

		public bool IsShown()
		{
			return method_11<bool>("IsShown", Array.Empty<object>());
		}

		public void UpdateVisibility()
		{
			method_8("UpdateVisibility");
		}

		public bool AreVisibilityRequirementsMet()
		{
			return method_11<bool>("AreVisibilityRequirementsMet", Array.Empty<object>());
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}
	}
}
